//package com.gitee.feizns.webtemplate.commons.session.boot;
//
//import com.gitee.feizns.webtemplate.commons.session.MapSessionManagerImpl;
//import com.gitee.feizns.webtemplate.commons.session.SessionManager;
//import com.gitee.feizns.webtemplate.commons.session.TokenGenerator;
//import com.gitee.feizns.webtemplate.commons.utils.encryption.EncryptUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.context.properties.EnableConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import javax.servlet.ServletContext;
//import java.util.UUID;
//
///**
// * 会话管理器
// * @author feizns
// * @since 2019/4/10
// */
//@Configuration
//@EnableConfigurationProperties(SessionManagerProperties.class)
//public class SessionManagerAutoConfiguration {
//
//    @Autowired
//    private SessionManagerProperties sessionManagerProperties;
//
//    @Autowired
//    private ServletContext servletContext;
//
//    @Bean
//    public SessionManager sessionManager() {
//        return new MapSessionManagerImpl(
//                sessionManagerProperties.getTimeout(),
//                keyGenerator(),
//                sessionManagerProperties.getInitSize());
//    }
//
//    /**
//     * 会话键值生成策略
//     * @return
//     */
//    private TokenGenerator keyGenerator() {
//        return () -> EncryptUtils.md5(Thread.currentThread()
//                + "_" + UUID.randomUUID().toString()
//                + "_" + System.currentTimeMillis());
//    }
//
//}
